<?xml version="1.0" encoding="UTF-8"?>
<p:beans xmlns:p="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd ">
	<p:bean id="harry" class="com.netease.spring.ch3.Magician">
		<p:property name="magicWords" value="Bippity boppity boo"/>
		<p:property name="magicBox" ref="magicBox"></p:property>
	</p:bean>
	
	<p:bean id="magicBox" class="com.netease.spring.ch3.MagicBoxImpl"/>
	
	<p:bean id="harry2" class="com.netease.spring.ch3.Magician">
		<p:property name="magicWords" value="Bippity boppity boo"/>
		<p:property name="magicBox" ref="magicBoxWithTiger"></p:property>
	</p:bean>
	
	<p:bean id="magicBoxWithTiger" class="com.netease.spring.ch3.MagicBoxImpl">
		<p:replaced-method name="getContents" replacer="tigerReplacer"/>
	</p:bean>
	<p:bean id="tigerReplacer" class="com.netease.spring.ch3.TigerReplacer"/>
	
	<p:bean id="stevie" class="com.netease.spring.ch3.Instrumentalist">
		<p:lookup-method name="getInstrument" bean="guitar"/>
		<p:property name="song" value="Grensleeves"/>
	</p:bean>
	<p:bean id="guitar" class="com.netease.spring.ch3.Guitar" scope="prototype"/>
	
	<p:bean id="pianist" class="com.netease.spring.ch3.Instrumentalist" abstract="true">
		<p:property name="instrument" >
			<p:bean class="com.netease.spring.ch3.Piano"/>
		</p:property>
		<p:property name="song" value="Grensleeves"/>
	</p:bean>
</p:beans>
